package enemies.factory.builders;

import mapControl.GraphicsMapControl;
import elementos.Player;
import enemies.Enemy;
/** "Abstract Builder" */
public abstract class EnemyBuilder {
	
	protected Enemy enemy;
	protected Player player;
	protected GraphicsMapControl mapControl;

	
	public Enemy getEnemy() {
		return enemy;
		
	}
	
	public Player getPlayer() {
		return player;
	}
 
	public void createNewEnemyProduct(GraphicsMapControl mapControl, Player player) {
		enemy = new Enemy(mapControl);
		this.player = player;
		
		enemy.setNode(mapControl.getPhysicsSpace().createStaticNode());
		this.mapControl = mapControl;
		
		mapControl.getRootNode().attachChild(enemy.getNode());
		mapControl.getRootNode().updateRenderState();

	}
 
	public abstract void buildModel();
	
	public abstract void buildTexture();
 
	public abstract void locate();
 
	public abstract void asignarEstrategia();

	public abstract void setName();
	

}
